"""
names = ["张老三", "李小四", "公孙王八", "王五", "赵六", "钱大七", "上官老九", "独孤求败"]
使用列表推导式，生成一个新列表。只保留以上列表中名字字数小于或者等于三的这部分人。
"""

"""
列表推导式：
[expression for item in iterable if condition] 
expression：表示列表中每个元素的表达式
for item in iterable：表示要迭代的对象，iterable 是任何可迭代对象（如列表、元组、字符串等）
item：表示每次迭代时的元素
if condition（可选）：这部分表示一个条件判断，只有满足条件的元素才会被加入到新列表中
"""

names = ["张老三", "李小四", "公孙王八", "王五", "赵六", "钱大七", "上官老九", "独孤求败"] #一个名为names的列表
#new_names = [name for name in names if (len(name)< 3 or (len(name) ==3))]
new_names = [name for name in names if len(name)<= 3] #name for name in names 表示遍历 names 列表中的每个名字    if len(name)<= 3 表示名字长度小于或者等于3的元素才会被加入到new_names列表中
print(f"以上列表中名字字数小于或者等于3的人为：\n{new_names}")  #打印new_names列表


